package com.tinet.sistReserva.ejb;

import java.util.ArrayList;

import javax.ejb.Remote;

import com.tinet.sistReserva.model.Reserva;
import com.tinet.sistReserva.model.Usuario;

/**
 * 
 * Interfaz que define los metodos a implementar por la clase ReservaBean.
 * 
 * @author Frmancil
 */
@Remote
public interface InterfazReservaBean {
    /**
     * 
     * Metodo que crea reserva desde administrador.
     * 
     * @param reservaARealizar
     *            Reserva a realizar.
     */
    void reservarSala(Reserva reservaARealizar);

    /**
     * 
     * Metodo que elimina reserva.
     * 
     * @param reservaAEliminar
     *            Reserva a eliminar.
     */
    void eliminarReservaSala(Reserva reservaAEliminar);

    /**
     * 
     * Metodo que retorna una lista de las reservas que se encuentran en la
     * base de datos.
     * 
     * @return Retorna una lista de reservas.
     */
    ArrayList<Reserva> listarReservas();

    /**
     * 
     * Metodo que retorna una lista de las reservas de usuario que se
     * encuentra en la base de datos.
     * 
     * @param usuario
     *            Usuario a desplegar sus reservas.
     * @return Retorna una lista de usuarios.
     */
    ArrayList<Reserva> listarMisReservas(Usuario usuario);

}
